package com.ruoyi.statisticalCenter.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 现金流水对象 sc_cash_flow
 *
 * @author pyx
 * @date 2024-02-27
 */
public class ScCashFlow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal accountBalance;

    /** 对方账户 */
    @Excel(name = "对方账户")
    private String oppositeAccount;

    /** 对方户名 */
    @Excel(name = "对方户名")
    private String oppositeAccountName;

    /** 收入 */
    @Excel(name = "收入")
    private BigDecimal income;

    /** 支出 */
    @Excel(name = "支出")
    private BigDecimal expend;

    /** 交易地点 */
    @Excel(name = "交易地点")
    private String tradingPlace;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tradingTime;

    /** 交易日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tradingDate;

    /** 记账日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记账日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bookDate;

    /** 币种 */
    @Excel(name = "币种")
    private String currency;

    /** 摘要 */
    @Excel(name = "摘要")
    private String abstracts;

    /** 付款对象 */
    @Excel(name = "付款对象")
    private String payer;

    /** 款项性质 */
    @Excel(name = "款项性质")
    private String moneyType;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setAccountBalance(BigDecimal accountBalance)
    {
        this.accountBalance = accountBalance;
    }

    public BigDecimal getAccountBalance()
    {
        return accountBalance;
    }
    public void setOppositeAccount(String oppositeAccount)
    {
        this.oppositeAccount = oppositeAccount;
    }

    public String getOppositeAccount()
    {
        return oppositeAccount;
    }
    public void setOppositeAccountName(String oppositeAccountName)
    {
        this.oppositeAccountName = oppositeAccountName;
    }

    public String getOppositeAccountName()
    {
        return oppositeAccountName;
    }
    public void setIncome(BigDecimal income)
    {
        this.income = income;
    }

    public BigDecimal getIncome()
    {
        return income;
    }
    public void setExpend(BigDecimal expend)
    {
        this.expend = expend;
    }

    public BigDecimal getExpend()
    {
        return expend;
    }
    public void setTradingPlace(String tradingPlace)
    {
        this.tradingPlace = tradingPlace;
    }

    public String getTradingPlace()
    {
        return tradingPlace;
    }
    public void setTradingTime(Date tradingTime)
    {
        this.tradingTime = tradingTime;
    }

    public Date getTradingTime()
    {
        return tradingTime;
    }
    public void setTradingDate(Date tradingDate)
    {
        this.tradingDate = tradingDate;
    }

    public Date getTradingDate()
    {
        return tradingDate;
    }
    public void setBookDate(Date bookDate)
    {
        this.bookDate = bookDate;
    }

    public Date getBookDate()
    {
        return bookDate;
    }
    public void setCurrency(String currency)
    {
        this.currency = currency;
    }

    public String getCurrency()
    {
        return currency;
    }
    public void setAbstracts(String abstracts)
    {
        this.abstracts = abstracts;
    }

    public String getAbstracts()
    {
        return abstracts;
    }
    public void setPayer(String payer)
    {
        this.payer = payer;
    }

    public String getPayer()
    {
        return payer;
    }
    public void setMoneyType(String moneyType)
    {
        this.moneyType = moneyType;
    }

    public String getMoneyType()
    {
        return moneyType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountBalance", getAccountBalance())
            .append("oppositeAccount", getOppositeAccount())
            .append("oppositeAccountName", getOppositeAccountName())
            .append("income", getIncome())
            .append("expend", getExpend())
            .append("tradingPlace", getTradingPlace())
            .append("tradingTime", getTradingTime())
            .append("tradingDate", getTradingDate())
            .append("bookDate", getBookDate())
            .append("currency", getCurrency())
            .append("abstract", getAbstracts())
            .append("payer", getPayer())
            .append("moneyType", getMoneyType())
            .append("remark", getRemark())
            .toString();
    }
}
